/************************************************************************

								Heroes IV
					  Copyright 2000, The 3DO Company

	------------------------------------------------------------------
  						 combat_path_finder.h

	$Header: /heroes4/combat_path_finder.h $

	$NoKeywords: $

 ************************************************************************/

#if !defined( COMBAT_PATH_FINDER_H_INCLUDED )
#define COMBAT_PATH_FINDER_H_INCLUDED

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "combat_path_finder_base.h"

class  t_combat_creature;
struct t_map_rect_2d;

// ---------------------------------------------------------------
// class to find paths for adventure map
// ---------------------------------------------------------------
class t_combat_path_finder : public t_combat_path_finder_base
{
public:
	t_combat_path_finder( t_combat_creature const& army, bool ignore_unattackable );

	void set_teleporting( bool arg );
protected:
	bool contains_quicksand( t_map_point_2d const& point ) const;
	bool contains_water( t_map_point_2d const& point ) const;
	void initialize();
	void initialize_tower( t_map_rect_2d const& rect, t_map_point_2d const& step );
	void generate_paths();
//	int  get_entry_cost( t_map_point_2d const& point ) const;
	void tower_initialization();

	t_combat_creature const*            m_army;
	bool								m_teleporting;
	bool								m_ignore_unattackable;
};

inline void t_combat_path_finder::set_teleporting( bool arg )
{
	m_teleporting = arg;
}

#endif // COMBAT_PATH_FINDER_H_INCLUDED